'''
闭包的特点:
1.保存返回值闭包时的状态(外层函数变量)

闭包的缺点：
1.作用域没有那么直观
2.因为变量不会被垃圾回收所以有一定的内存占用问题

闭包的作用：
1.可以使用同级的作用域
2.读取其他元素的内部变量
3.延长作用域

闭包的总结:
1.闭包优化了变量，原来需要类对象完成的工作，闭包也可以完成
2.由于闭包引用了外部函数的局部变量，则外部函数的局部变量没有及时释放，消耗内存
3.闭包的好处，使代码变得简洁便于阅读代码
4.闭包时理解装饰器的基础
'''
def func(a,b):
    c = 10
    def inner_func():
        s = a + b +c
        print(s)
    return inner_func

x = func(1,2)
y = func(3,4)
print(x)
print(y)
x()
y()
